/*
 * Copyright (c) 2005, 2020, Jin Lin All rights reserved.
 * Jin Lin PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 */
package aco.entity.dobject;

import java.util.List;

/**
 * 描述 蚂蚁.
 *
 * @author Jin Lin
 * @created 2019 -06-30 14:19:15
 */
public class Ant {

    /**
     * 每只蚂蚁增加的信息素比例.
     */
    private Double increaseRatio;

    /**
     * 信息素衰减比例.
     */
    private Double attenuationRatio;

    /**
     * 蚂蚁选择的路径.
     */
    private List<Task> path;


    //===========================================================================

    /**
     * Instantiates a new Ant.
     */
    public Ant() {
    }

    /**
     * Instantiates a new Ant.
     *
     * @param increaseRatio    the increase ratio
     * @param attenuationRatio the attenuation ratio
     * @param path             the path
     */
    public Ant(Double increaseRatio, Double attenuationRatio, List<Task> path) {
        this.increaseRatio = increaseRatio;
        this.attenuationRatio = attenuationRatio;
        this.path = path;
    }

    /**
     * 描述 Gets increase ratio.
     *
     * @return the increase ratio
     * @author Jin Lin
     * @created 2019 -07-01 22:14:48
     */
    public Double getIncreaseRatio() {
        return increaseRatio;
    }

    /**
     * 描述 Sets increase ratio.
     *
     * @param increaseRatio the increase ratio
     * @author Jin Lin
     * @created 2019 -07-01 22:14:48
     */
    public void setIncreaseRatio(Double increaseRatio) {
        this.increaseRatio = increaseRatio;
    }

    /**
     * 描述 Gets attenuation ratio.
     *
     * @return the attenuation ratio
     * @author Jin Lin
     * @created 2019 -07-01 22:14:48
     */
    public Double getAttenuationRatio() {
        return attenuationRatio;
    }

    /**
     * 描述 Sets attenuation ratio.
     *
     * @param attenuationRatio the attenuation ratio
     * @author Jin Lin
     * @created 2019 -07-01 22:14:48
     */
    public void setAttenuationRatio(Double attenuationRatio) {
        this.attenuationRatio = attenuationRatio;
    }

    /**
     * 描述 Gets path.
     *
     * @return the path
     * @author Jin Lin
     * @created 2019 -07-01 22:14:48
     */
    public List<Task> getPath() {
        return path;
    }

    /**
     * 描述 Sets path.
     *
     * @param path the path
     * @author Jin Lin
     * @created 2019 -07-01 22:14:48
     */
    public void setPath(List<Task> path) {
        this.path = path;
    }
}
